
 
of及range,這兩個在RxJS中,屬於負責創建資料來源。creation。喔對了,fromEvent也是其中之一喔!✍定義: of(data1, data2...dataN),就是依序將你的資料,用next()輸出,直到資料尾聲dataN,再呼叫complete()
底下這張圖稱之為彈珠圖(marble diagram),水平是一個時間軸線,幫助我們了解RxJS運作的過程喔。補充資訊-Mike Huang認識彈珠圖 Marble Diagram
從這張圖來看,of依序地將資料,循序的輸出。咱們趕緊來實作一下。
圖片來源 RxJS官網 - of介紹
import { of } from 'rxjs';
// observer
const observer = {
  next: (value) => console.log('next', value),
  error: (err) => console.log('error', err),
  complete: () => console.log('complete'),
};
console.log("=== of : case1 ===")
of(1, 2, 3, 4, 5).subscribe(observer);
//=== of : case1 ===
//next 1
//next 2
//next 3
//next 4
//next 5
//complete
...
console.log('=== of : case2 放入不同的值 ===');
of('one', 2, { three: 333 }, 'Four', [5,5,5]).subscribe(observer);
// === of : case2 放入不同的值 ===
// next one
// next 2
// next {three: 333}
// next Four
// next [5,5,5]
// complete

圖片來源 RxJS官網 - range介紹
range(start, N): 給定**起始值(start)**及**長度N**,他就能自動地幫你累加數值,並依序地傳遞給你。import { range } from 'rxjs';
// observer
const observer = {
  next: (value) => console.log('next', value),
  error: (err) => console.log('error', err),
  complete: () => console.log('complete'),
};
console.log('=== range : case1 ===');
range(0,5).subscribe(observer)  // 0,1,2,3,4
console.log('=== range : case2 不同的起始值 ===');
range(-4,5).subscribe(observer) // -4,-3,-2,-1,0
range就是這麼的單純,直覺,說穿了就是像一個迴圈依樣,將你的初始值累加到你設定的條件式,結束。python的range應該也不陌生# I'm Python case
for i in range(0,10):
  print(i)
創建類(creation)的RxJS Operator
of(data1, data2...dataN): 依序吐出 data1, data2...dataN
range(start, N): 依序給予start, start+1, start+2...start+N
RxJS成為你順手的工具!!Day6完成啦!早上寫文章成了一種習慣,喜歡這樣的節奏,開勳~灑花!!